// src/main/java/com/yin/waimai/repository/LogisticsTraceRepository.java
package com.yin.waimai.repository;

import com.yin.waimai.model.LogisticsTrace;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 物流轨迹数据访问接口
 */
@Repository // 标记为 Spring 管理的 Repository Bean
public interface LogisticsTraceRepository extends MongoRepository<LogisticsTrace, String> { // 实体类型为 LogisticsTrace, ID 类型为 String

    /**
     * 根据订单号查询所有物流轨迹，并按时间升序排序
     * Spring Data MongoDB 会根据方法名自动生成查询
     * @param orderId 订单号
     * @return 物流轨迹列表
     */
    List<LogisticsTrace> findByOrderIdOrderByTimestampAsc(String orderId);

    /**
     * 根据订单号查询最新的物流轨迹记录 (如果需要)
     * @param orderId 订单号
     * @return 最新的轨迹记录 Optional
     */
    // 如果经常需要最新一条，可以这样定义 (注意 Optional 处理)
    // Optional<LogisticsTrace> findTopByOrderIdOrderByTimestampDesc(String orderId);

    // 可以根据需要添加其他查询方法，例如：
    // List<LogisticsTrace> findByOrderIdAndStatus(String orderId, LogisticsStatus status);
}